The computer and computer related industries have benefitted from a rapidly increasing availability of data processing functions. Along with this benefit comes the problem of how to present the great number and variety of available functions to the interactive operator or user in display interfaces which are relatively easy to use. In recent years, the hierarchical tree has been a widely used expedient for helping the user to keep track of and organize the operative and available functions. In typical tree structures such as those in Microsoft Windows 95.TM. and IBM Lotus.TM. systems, there is presented on the display screen a variety of available functions and resources in tree hierarchies with classes and subclasses of functions and resources displayed as objects in a descending and widening order based upon some kind of derivation from the next higher class or subclass.
The basic framework of the conventional display interface tree organization is usually provided by the programmed operating system. It is based upon descending operating levels in the tree. Each level has a number of parallel nodes, usually increasing in number as the tree descends. Each node has associated therewith an element or object which represents a data entity in the system for providing a corresponding resource or function when the interactive user selects the particular element or object. While conventional tree hierarchy interfaces have been very effective in providing an organized user interface to complex computer systems resources and functions, such trees have the limitation that they can not readily provide user interfaces to processes involving objects in the tree in operations which are not related to the tree hierarchy. In other words, it is difficult to modify the basic tree organization so as to permit the user to interactively perform ancillary functions which are not part of the tree hierarchy. The present invention is directed to this limitation in tree interfaces.
It should be noted that the tree hierarchal structure is one of the primary organizational expedients in the object oriented programming processes which have become more prevalent over the past decade. In object oriented programming it is not unusual to have very elaborate and extensive hierarchical relationships displayed in tree views. While object oriented programming systems provide their users with a great amount of flexibility in formatting the actual objects, their users are much more limited in varying the format or structure of the tree hierarchy itself.